import { Controller } from 'egg';
export default class  ServiceController extends Controller {
    
    //服务支持列表接口
    /**
     * @api {get} /service/list 服务支持列表
     * @apiName serviceList
     * @apiGroup Gaode
     * @apiVersion 1.0.0
     * @apiDescription 服务支持列表
     * @apiSuccess {Number} code 返回状态码 0失败  200成功
     * @apiSuccess {String} message 返回状态对应提示消息
     * @apiSuccess {Object[]} data 服务支持列表
     * @apiSuccess {Number} data.service_id 服务支持ID
     * @apiSuccess {String} data.service_img 服务支持图片
     * @apiSuccess {String} data.service_name 服务支持名称
     * @apiSuccess {Object[]} data.resource_list 解决方案资源列表
     * @apiSuccess {String} data.resource_list.resource_id 资源ID
     * @apiSuccess {String} data.resource_list.resource_name 资源名称
     * @apiSuccess {String} data.resource_list.resource_url 资源路径
     * @apiSuccess {String} data.resource_list.resource_content 资源内容
     * 
     */
    async list(){
        const {ctx,app}= this;
        const {Service,Resource} =app.model;
        try {
            let result=await  Service.findAll({
                include:[
                    {
                        model:Resource,
                        association:Service.hasMany(Resource,{foreignKey:'parent_id'}),
                        where:{type:3}
                    }
                ],
                //order:ctx.helper.sort_order()
            })
            let list:object[]=[]
            result=JSON.parse(JSON.stringify(result));
            result.forEach(service=>{
                service['create_time']=ctx.helper.date_format_basic(service['create_time']);
                let tmo=ctx.helper.assign_basic({},service);
                tmo['resource_list']=[];
                if(service['resources']&&service['resources'].length>0){
                    service['resources'].map(resource=>{
                        resource['create_time']=ctx.helper.date_format_basic(resource['create_time']);
                        tmo['resource_list'].push(resource);
                    })
                }
               list.push(tmo) 
            })
            return ctx.body=ctx.helper.success_result("操作成功",list)
        } catch (error) {
            
        }
        ctx.body=ctx.helper.error_result("查询失败")
    }


}

